@mixin move-motion($className, $keyframeName) {
    @include make-motion($className, $keyframeName);
    .#{$className}-enter-active,
    .#{$className}-appear {
        opacity: 0;
        animation-timing-function: $ease-in-out;
    }
    .#{$className}-leave-active {
        animation-timing-function: $ease-in-out;
    }
}

@include move-motion(move-up, vuMoveUp);
@include move-motion(move-down, vuMoveDown);
@include move-motion(move-left, vuMoveLeft);
@include move-motion(move-right, vuMoveRight);

@keyframes vuMoveDownIn {
    0% {
        transform-origin: 0 0;
        transform: translateY(100%);
        opacity: 0;
    }
    100% {
        transform-origin: 0 0;
        transform: translateY(0%);
        opacity: 1;
    }
}

@keyframes vuMoveDownOut {
    0% {
        transform-origin: 0 0;
        transform: translateY(0%);
        opacity: 1;
    }
    100% {
        transform-origin: 0 0;
        transform: translateY(100%);
        opacity: 0;
    }
}

@keyframes vuMoveLeftIn {
    0% {
        transform-origin: 0 0;
        transform: translateX(-100%);
        opacity: 0;
    }
    100% {
        transform-origin: 0 0;
        transform: translateX(0%);
        opacity: 1;
    }
}

@keyframes vuMoveLeftOut {
    0% {
        transform-origin: 0 0;
        transform: translateX(0%);
        opacity: 1;
    }
    100% {
        transform-origin: 0 0;
        transform: translateX(-100%);
        opacity: 0;
    }
}

@keyframes vuMoveRightIn {
    0% {
        opacity: 0;
        transform-origin: 0 0;
        transform: translateX(100%);
    }
    100% {
        opacity: 1;
        transform-origin: 0 0;
        transform: translateX(0%);
    }
}

@keyframes vuMoveRightOut {
    0% {
        transform-origin: 0 0;
        transform: translateX(0%);
        opacity: 1;
    }
    100% {
        transform-origin: 0 0;
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes vuMoveUpIn {
    0% {
        transform-origin: 0 0;
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform-origin: 0 0;
        transform: translateY(0%);
        opacity: 1;
    }
}

@keyframes vuMoveUpOut {
    0% {
        transform-origin: 0 0;
        transform: translateY(0%);
        opacity: 1;
    }
    100% {
        transform-origin: 0 0;
        transform: translateY(-100%);
        opacity: 0;
    }
}

// @include move-motion(move-notice, vuMoveNotice);
// @import '../components/notice.less';

// @keyframes vuMoveNoticeIn {
//     0% {
//         opacity: 0;
//         transform-origin: 0 0;
//         transform: translateX(100%);
//     }
//     100% {
//         opacity: 1;
//         transform-origin: 0 0;
//         transform: translateX(0%);
//     }
// }

// @keyframes vuMoveNoticeOut {
//     0% {
//         transform-origin: 0 0;
//         transform: translateX(0%);
//         opacity: 1;
//     }
//     70% {
//         transform-origin: 0 0;
//         transform: translateX(100%);
//         height: auto;
//         padding: @notice-padding;
//         margin-bottom: @notice-margin-bottom;
//         opacity: 0;
//     }
//     100% {
//         transform-origin: 0 0;
//         transform: translateX(100%);
//         height: 0;
//         padding: 0;
//         margin-bottom: 0;
//         opacity: 0;
//     }
// }
